Exploring NCEP Climate Forecast System 9 month forecasts

NCEP is running the CFS not only in hindcast mode (CFSR) but in forecast mode, 4 times a day. One of the forecast products is a 9 month forecast, with monthly average quanties as output. There are monthly averages for variables at 0, 6, 12, 18Z hours and also for the daily average. Except for the surface fluxes and near surface temperatures, these should all be pretty much the same. The files are available only as Grib2 and only via HTTP and FTP. We should just be able to take the 0 hour forecast for the daily averages, but perhaps should look at the 4 ensemble members

Example: On today (June 12, 2013), to get the 0.5 degree 3D ocean data forecast for August 2013, we would get these files:

ftp://ftpprd.ncep.noaa.gov//pub/data/nccf/com/cfs/prod/cfs/cfs.20130611/00/monthly_grib_01/ocnh.01.2013061100.201308.avrg.grib.grb2
ftp://ftpprd.ncep.noaa.gov//pub/data/nccf/com/cfs/prod/cfs/cfs.20130611/00/monthly_grib_02/ocnh.01.2013061100.201308.avrg.grib.grb2
ftp://ftpprd.ncep.noaa.gov//pub/data/nccf/com/cfs/prod/cfs/cfs.20130611/00/monthly_grib_03/ocnh.01.2013061100.201308.avrg.grib.grb2
ftp://ftpprd.ncep.noaa.gov//pub/data/nccf/com/cfs/prod/cfs/cfs.20130611/00/monthly_grib_04/ocnh.01.2013061100.201308.avrg.grib.grb2

In the above example we are getting the files from one day earlier (June 11) because the files for June 12 are not necessarily completed (depending on when you access the data)

We can bring these files to geoport each month and then access them using THREDDS, as demonstrated below.


In [1]:
import netCDF4

In [12]:
# OCNF: 1.0 degree resolution
url='http://geoport.whoi.edu/thredds/dodsC/usgs/data2/rsignell/models/ncep/CFS/ocnf.01.2013061100.201308.avrg.grib.00Z.grb2'
nc=netCDF4.Dataset(url)
temp = nc.variables['Potential_temperature_depth_below_sea_1_Month_Average']
shape(temp)


Out[12]:
(1, 40, 181, 360)

In [10]:
# OCNH: 0.5 degree resolution
url='http://geoport.whoi.edu/thredds/dodsC/usgs/data2/rsignell/models/ncep/CFS/ocnh.01.2013061100.201308.avrg.grib.00Z.grb2'
nc=netCDF4.Dataset(url)
temp = nc.variables['Potential_temperature_depth_below_sea_1_Month_Average']
shape(temp)


Out[10]:
(1, 40, 360, 720)

In [ ]: